import Mock from 'mockjs'

// 模拟api接口
// Mock.mock('/api/user/list',{ list:[ {},{} ] })
// Mock.mock('/api/user/list',()=>{ return [] })
// Mock.mock('/api/user/list','get',()=>{ return [] })
// Mock.mock('/api/user/list','post',()=>{ return [] })

var data = {};
//生成数据，判断本地存储是否有数据，是否需要重新生成数据
if (localStorage.getItem('zqq_user_list')) {
    data = JSON.parse(localStorage.getItem('zqq_user_list'))
} else {
    //生成数据
    data = Mock.mock({
        "list|50":[
            {

                num: '@increment',
                name: '@cname',
                id: '@id',
                'phone|13000000000-19999999999': 1,
                time: '@date(yyyy-MM-dd hh:mm:ss)',
                'sex|1': false,//状态(是否正常)
                'sex1|1': false,//分配状态(是否分配)
                email: '@email',
                address: '@county(true)'
            }
        ]
    })
    //保存数据到本地存储
    localStorage.setItem('zqq_user_list', JSON.stringify(data))
}
//处理参数工具函数
var getQuery = (url, name) => {
    // console.log(url, name);
    const index = url.indexOf("?");
    if (index !== -1) {
      const queryStrArr = url.substr(index + 1).split("&");
      for (var i = 0; i < queryStrArr.length; i++) {
        const itemArr = queryStrArr[i].split("=");
        // console.log(itemArr);
        if (itemArr[0] === name) {
          return itemArr[1];
        }
      }
    }
    return null;
  };

//数据list接口
Mock.mock(/\/api\/get\/news/, "get", (options) => {
    // 获取传递参数pageindex，pagesize
    const pageindex = getQuery(options.url, "pageindex");
    const pagesize = getQuery(options.url, "pagesize");
    console.log('mock',pageindex);
    console.log('mock',pagesize);
    const start = (pageindex - 1) * pagesize;
    const end = pagesize * pageindex;
    const totalPage = Math.ceil(data.list.length / pagesize);
  
    //  pageindex:1 pagesize:10 返回0-9条数据  2-10-（10-19） 3-10（20-29）
    // 数据的起始位置：（pageindex-1）*pagesize 结束位置：pageindex*pagesize
    const list = pageindex > totalPage ? [] : data.list.slice(start, end);
    console.log("数据",list,totalPage) ;
    return {
      status: 200,
      message: "获取新闻列表成功",
      list: list,
      total: totalPage,
    };
  });

// 数据list接口
// Mock.mock('/api/user/list','get',()=>{  
//     //返回数据
//     return data;
// })



// 添加员工
Mock.mock('/api/user/created', 'post', (req) => {
    //接收参数 , req.body 是字符串格式,需要转为json对象
    // console.log( req.body );
    var { name, phone, } = JSON.parse(req.body);
    console.log('添加', data.list);
    // 插入
    data.list.push(Mock.mock({
        num: '@increment',
        name,
        id: '@id',
        phone,
        time: '@date(yyyy-MM-dd hh:mm:ss)',
        sex: true,
        'sex1|1': false,
        email: '@email',
        address: '@county(true)'
    }))

    console.log('添加', data.list);
    localStorage.setItem('zqq_user_list', JSON.stringify(data));
    return { status: 200, msg: '删除成功!', list: data.list }
})



//查询接口
Mock.mock('/api/user/search', 'post', (req) => {
    //接收参数 , req.body 是字符串格式,需要转为json对象
    // console.log( req.body );
    var { id, num } = JSON.parse(req.body);

    var datalist = { list: [] }
    //通过id, 找到要查询的那一条数据,
    switch (num) {

        case "id":
            for (let i = 0; i < data.list.length; i++) {
                if (data.list[i].id == id) {
                    datalist.list.push(data.list[i])
                }
            }
            break;
        case "name":

            for (let i = 0; i < data.list.length; i++) {
                if (data.list[i].name == id) {
                    datalist.list.push(data.list[i])
                }
            }
            break;
        case "num":

            for (let i = 0; i < data.list.length; i++) {
                if (data.list[i].num == id) {
                    datalist.list.push(data.list[i])
                }
            }
            break;
        case "time":

            for (let i = 0; i < data.list.length; i++) {
                if (data.list[i].time == id) {
                    datalist.list.push(data.list[i])
                }
            }
            break;
        case "email":

            for (let i = 0; i < data.list.length; i++) {
                if (data.list[i].email == id) {
                    datalist.list.push(data.list[i])
                }
            }
            break;
        case "sex":

            for (let i = 0; i < data.list.length; i++) {
                if (data.list[i].sex + '' == id) {
                    datalist.list.push(data.list[i])
                }
                console.log(data.list[i].sex + '', id);

            }
            break;
        case "sex1":

            for (let i = 0; i < data.list.length; i++) {
                if (data.list[i].sex1 + '' == id) {
                    datalist.list.push(data.list[i])
                }
            }
            break;
        case "phone":

            for (let i = 0; i < data.list.length; i++) {
                if (data.list[i].phone == id) {
                    datalist.list.push(data.list[i])
                }
            }
            break;
        default:
            return datalist
            break;

            return datalist;
    }

    console.log('后台', datalist);
    return datalist
})
// 数据list接口
// Mock.mock('/api/user/list', 'get', () => {
//     //返回数据
//     return data;
// })
//删除接口
Mock.mock('/api/user/deleteone', 'post', (req) => {
    //接收参数 , req.body 是字符串格式,需要转为json对象
    // console.log( req.body );
    var { id } = JSON.parse(req.body);

    //通过id, 找到要删除的那一条数据, 执行删除
    var i = data.list.findIndex((item) => {
        return item.id == id;
    })
    if (i != -1) {
        data.list.splice(i, 1);
        localStorage.setItem('zqq_user_list', JSON.stringify(data));
        // return { status: 200, msg: '删除成功!', list: data.list }
    } else {
        return { status: 400, msg: '删除失败!', list: null }
    }
})
//编辑接口
Mock.mock('/api/user/modify', 'post', (req) => {
    //接收参数 , req.body 是字符串格式,需要转为json对象
    console.log('你好', req.body);
    var { id } = JSON.parse(req.body);
    console.log(id._value);
    //通过id, 找到要删除的那一条数据, 执行删除
    var i = data.list.findIndex((item) => {
        return item.id == id._value.id;
    })
    if (i != -1) {
        var obj = id._value
        data.list.splice(i, 1, obj);
        localStorage.setItem('zqq_user_list', JSON.stringify(data));
        return { status: 200, msg: '编辑成功!', list: data.list }
    } else {
        return { status: 400, msg: '编辑失败!', list: null }
    }
})
//查看员工基本信息
Mock.mock('/api/user/searchuseinfo', 'post', (req) => {
    //接收参数 , req.body 是字符串格式,需要转为json对象
    // console.log( req.body );
    var { id } = JSON.parse(req.body);

    //通过id, 找到要删除的那一条数据, 执行删除
    var i = data.list.findIndex((item) => {
        return item.id == id;
    })
    if (i != -1) {
        // var searchuseinfo={};
        // console.log(data.list[i]);
        return data.list[i];
        // return searchuseinfo=data[i];

        return { status: 200, msg: '查询成功!', list: data.list }
    } else {
        return { status: 400, msg: '没有这个员工!', list: null }
    }
})


